Software piracy and counterfeiting is a pervasive, expensive problem for software development companies, i.e., vendors, as well as consumer and corporate users, collectively users. By most definitions pirated software is software that is improperly licensed or not licensed at all and counterfeit software is software that is deliberately presented as genuine when it is not.
There are a number of known ways for users to obtain unlicensed, counterfeit or pirated software, collectively referred to herein as pirated software. A common method is for a user, or distributor, to obtain a counterfeit product key from a web site and use the counterfeit product key with software obtained through improper channels, i.e., friends, unauthorized download sites, etc. Counterfeit product keys are fake product keys, i.e., product keys that appear to be authentic but have not been generated by the appropriate software vendor, and stolen product keys, i.e., product keys that have been stolen from legitimate copies of protected software packages by, for example, copying them from the sticker on the software package product box or a sticker on a user's computing device. Counterfeit product keys are used to improperly bypass licensing and activation mechanisms present in vendor software.
Another common method for a user to obtain pirated software is to download a key generator from a web site or peer-to-peer network and use the key generator to generate a product key for use with software obtained through an improper channel. Keys so generated are used to improperly bypass licensing and activation mechanisms present in vendor software.
Downloading crack tools from web sites and peer-to-peer networks and using the crack tools with software obtained through improper channels is another known method for obtaining and using pirated software. Crack tools are programs that tamper with the vendor's software to bypass licensing and activation mechanisms. Examples of known crack tools include programs that delete timers in vendor software so that the software is always in the grace period, when licensing activation is not required, and programs that tamper with vendor binaries responsible for enforcing licensing and activation mechanisms.
Other known methods of obtaining and using pirated software include downloading full software copies from web sites or peer-to-peer networks, obtaining physical media containing the software for sale over the internet and obtaining physical media containing the software for sale from street vendors and distributors.
It has been estimated by at least one source that thirty-five percent of the world's software is pirated. The Business Software Alliance (BSA) has estimated that software vendors and associated support and service organizations lose as much as fifty billion dollars ($50 billion) annually to software piracy.
Software piracy therefore is a significant issue for software vendors. Not only are software vendors losing enormous amounts of money to pirated software but such pirated software violates vendors' intellectual property rights, creates incompatibility problems and engenders myriad service and support issues.
Software piracy also has its detrimental effects on users. Software piracy creates risks of network downtime and data loss when the pirated software malfunctions. Technical service, support and interoperability issues involving pirated software generally take longer to resolve, at a monetary cost to users. Users that knowingly or unwittingly use pirated software are at increased risk of fines and/or costly litigation. Pirated software has also increasingly been found to contain viruses, spyware and/or other malware detrimental to user's systems and data. Moreover, non-genuine software raises incompatibility risks and issues with the counterpart legitimate software package patches, fixes and updates.
Thus, it would be desirable to design a system and methodology for implementing seamless anti-piracy protection for one or more software packages, i.e., protected software packages, installed and/or operating on user computers and computing-based devices, e.g., BLACKBERRY® hand-held devices, computer-based cell phones, etc., collectively referred to herein as computing devices. It would be desirable for anti-piracy protection to be effective in identifying and correcting, or replacing, exploited software, i.e., those licensing portions of a user's protected software package that are not genuine, while requiring little to no interaction with a user and as little disruption to a user as is necessary. It would further be desirable to track piracy events for diagnosing piracy trends.